User loginNavigation |
Communicating Scala ObjectsI wouldn't normally think a library is LtU material, but since this one lives at the intersection of embedded DSLs, process calculi, and a spotlight language, I think it fits: Communicating Scala Objects, Bernard Sufrin, Communicating Process Architectures 2008.
If you would like to play with it, the library can be downloaded here. By James Iry at 2008-09-03 22:47 | DSL | Parallel/Distributed | Scala | 4 comments | other blogs | 11190 reads
Google V8 JavaScript EngineYou can read the docs and download the C++ source here. V8 is supposedly the main added value of Chrome, the newly announced Google browser. Our discussion of the Chrome announcement enumerates some of the features of V8. By Ehud Lamm at 2008-09-03 01:25 | Cross language runtimes | Implementation | Javascript | 44 comments | other blogs | 27899 reads
Unchecked Exceptions can be Strictly More Powerful than Call/CCHere's a little light reading for your day-after-Labor-Day (or whatever yesterday was where you live): Unchecked Exceptions can be Strictly More Powerful than Call/CC, Mark Lillibridge and Olivier Danvy, 1999, Higher-Order and Symbolic Computation.
I have to say that on seeing the title I was surprised: I cut my functional teeth on Scheme and every baby Schemer sucks up the knowledge that call/cc lets you create all manner of flow control including exceptions. But, as the paper makes clear, that's not necessarily the case in a statically-typed context. Edit: Citeseerx was not responding very well, here's an alternative URL for the paper. By James Iry at 2008-09-02 15:39 | Functional | Lambda Calculus | Type Theory | 16 comments | other blogs | 56077 reads
Closures for CChris Lattner's post last week to cfe-dev, "Blocks" in Clang (aka closures), has generated a certain amount of enthusiasm, since Clang is, or will be, a compiler for C to LLVM (cf. LLVM 1.5 has been released!). The representation of closures as blocks resembles the technique used for Poletto's 'C language; cf. the related discussion on The MetaC Language. UpgradeJ: Incremental Typechecking for Class UpgradesUpgradeJ: Incremental Typechecking for Class Upgrades, Gavin Bierman, Matthew Parkinson and James Noble.
There has been an energetic discussion of API evolution in the forum, so when I saw this paper I thought it might be of interest to LtU readers. By neelk at 2008-08-31 12:55 | OOP | Semantics | Software Engineering | 2 comments | other blogs | 7328 reads
Relational Parametricity and Units of MeasureRelational Parametricity and Units of Measure, Andrew J. Kennedy, POPL 1997.
There's a new release of F# coming out with support for measure types, and so I thought I'd post a link to Andrew's paper about the subject. Now, if you've done any physics or engineering, you're probably familiar with the fact that units can sometimes really strongly constrain what form your equations can take. If you studied dimensional analysis more carefully than I did, you might even have learned that this is a consequence of the Buckingham pi theorem -- you can prove that if you have an equation with n variables involving k physical units, you can recast it as an equation with (n - k) dimension-free variables. Kennedy shows that the analogue of this theorem for programs in his language is a form of parametricity result at first order, which is quite slick. From Writing and Analysis to the Repository: Taking the Scholars' Perspective on Scholarly Archiving
Marshall, C.C. From Writing and Analysis to the Repository: Taking the Scholars' Perspective on Scholarly Archiving. Proceedings of JCDL'08
This paper reports the results of a qualitative field study of the scholarly writing, collaboration, information management, and long-term archiving practices of researchers in five related subdisciplines. The study focuses on the kinds of artifacts the researchers create in the process of writing a paper, how they exchange and store materials over the short term, how they handle references and bibliographic resources, and the strategies they use to guarantee the long term safety of their scholarly materials. Not directly programming language related, but two things makes this paper relevant. First, many of the tools involved, especially those that really enhance productivity are language-based, or include DSLs (e.g., Latex, Bibtex, R (+Sweave) etc.). Second, many of us write papers, and as language geeks we surely crave great tools... So, what is you ideal tool chest when it comes to doing and publishing research? And what do you actually use everyday? Towards Hard Real-Time ErlangErlang's actor concurrency model is a good fit for a wide range of concurrent applications. One domain that would seem ideal is real-time control of concurrent physical processes. But as it stands right now Erlang is best suited for soft real-time applications - there's really nothing in the language or runtime geared towards hard real-time constraints. Towards Hard Real-Time Erlang talks about one piece of the puzzle: a hard real-time scheduler.
The paper closes with mentions of two more pieces of the puzzle.
Besides the scheduler, message passing, and garbage collector, what else do you think is needed before Erlang or something like it is a viable alternative in this domain? Or is the actor model really not such a great fit? *Edit: Based on a comment from renox added closing quotes about message passing and garbage collector and added message passing to the editorial question. Real-Time Concurrent Issues Drive Ada versus Java ChoiceA useful short article by Ben Brosgol in COTS Journal.
Ben Brosgol is an expert on both Ada and Java support for real time programming, and I've linked to his papers that provide more detailed analysis a few times in the past. Features of Common LispA compelling description of the features that make CL the king of the Perl-Python-Ruby-PHP-Tcl-Lisp language ;)
|
Browse archives
Active forum topics |
Recent comments
2 weeks 2 days ago
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 4 days ago
3 weeks 2 days ago
3 weeks 2 days ago
3 weeks 2 days ago
6 weeks 3 days ago
7 weeks 1 day ago
7 weeks 1 day ago